﻿using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;

namespace tinfosvr.Models
{
    public partial class mdfqyContext : DbContext
    {
        public mdfqyContext()
        {
        }

        public mdfqyContext(DbContextOptions<mdfqyContext> options)
            : base(options)
        {
        }

        public virtual DbSet<qy_arrive_notice> qy_arrive_notice { get; set; }
        public virtual DbSet<qy_city> qy_city { get; set; }
        public virtual DbSet<qy_comment> qy_comment { get; set; }
        public virtual DbSet<qy_comment_like> qy_comment_like { get; set; }
        public virtual DbSet<qy_content_like> qy_content_like { get; set; }
        public virtual DbSet<qy_contents> qy_contents { get; set; }
        public virtual DbSet<qy_exits> qy_exits { get; set; }
        public virtual DbSet<qy_line> qy_line { get; set; }
        public virtual DbSet<qy_mycollect> qy_mycollect { get; set; }
        public virtual DbSet<qy_nodatas> qy_nodatas { get; set; }
        public virtual DbSet<qy_nodatas_copy> qy_nodatas_copy { get; set; }
        public virtual DbSet<qy_station_record> qy_station_record { get; set; }
        public virtual DbSet<qy_stationinfo> qy_stationinfo { get; set; }
        public virtual DbSet<qy_stationline> qy_stationline { get; set; }
        public virtual DbSet<qy_stations> qy_stations { get; set; }
        public virtual DbSet<qy_tests> qy_tests { get; set; }
        public virtual DbSet<qy_train_schedule> qy_train_schedule { get; set; }
        public virtual DbSet<qy_user> qy_user { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            if (!optionsBuilder.IsConfigured)
            {
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.
                optionsBuilder.UseMySql("Server=39.98.225.241;Database=m-dfqy;Username=dfqy;Password=dfqy-2020;TreatTinyAsBoolean=false;");
            }
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<qy_arrive_notice>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.arrive_notice)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.city_code)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'131'");

                entity.Property(e => e.get_off_time)
                    .IsRequired()
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("'00:00'");

                entity.Property(e => e.get_on_time)
                    .IsRequired()
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("'00:00'");

                entity.Property(e => e.line_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.orig_station_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.sel_platform_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.terminus_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.user)
                    .IsRequired()
                    .HasColumnType("varchar(255)")
                    .HasDefaultValueSql("''");
            });

            modelBuilder.Entity<qy_city>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.citycode)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.keyword)
                    .IsRequired()
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.name)
                    .IsRequired()
                    .HasColumnType("varchar(25)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_comment>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.addtime)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.content)
                    .IsRequired()
                    .HasColumnType("varchar(1000)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.content_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.status)
                    .HasColumnType("tinyint(1)")
                    .HasDefaultValueSql("'1'");

                entity.Property(e => e.user_no)
                    .IsRequired()
                    .HasColumnType("varchar(25)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_comment_like>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.addtime)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.comment_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.user_no)
                    .IsRequired()
                    .HasColumnType("varchar(25)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_content_like>(entity =>
            {
                entity.HasIndex(e => e.user_no)
                    .HasName("idx_user_no");

                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.addtime)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.content_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.user_no)
                    .IsRequired()
                    .HasColumnType("varchar(25)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_contents>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.addtime)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.content)
                    .IsRequired()
                    .HasColumnType("varchar(1000)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.picurl)
                    .IsRequired()
                    .HasColumnType("varchar(255)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.status)
                    .HasColumnType("tinyint(1)")
                    .HasDefaultValueSql("'1'");

                entity.Property(e => e.user_no)
                    .IsRequired()
                    .HasColumnType("varchar(25)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_exits>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.infos)
                    .IsRequired()
                    .HasColumnType("varchar(500)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.name)
                    .IsRequired()
                    .HasColumnType("varchar(100)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.station_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_line>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.cityCode)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.cityName)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.lb)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.lc)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.lid)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.line_less)
                    .IsRequired()
                    .HasColumnType("varchar(100)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.line_point)
                    .IsRequired()
                    .HasColumnType("varchar(100)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.loop)
                    .HasColumnType("tinyint(1)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.status)
                    .HasColumnType("tinyint(1)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_mycollect>(entity =>
            {
                entity.HasIndex(e => e.user_no)
                    .HasName("idx_user_no");

                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.addtime)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.citycode)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.station_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.station_name)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.user_no)
                    .IsRequired()
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_nodatas>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.citycode)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.direction)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.fomtos)
                    .HasColumnType("tinyint(1)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.line_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.line_name)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.platform_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.station_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.station_name)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_nodatas_copy>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.citycode)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.direction)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.fomtos)
                    .HasColumnType("tinyint(1)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.line_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.line_name)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.platform_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.station_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.station_name)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_station_record>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.epoint)
                    .IsRequired()
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.spoint)
                    .IsRequired()
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_stationinfo>(entity =>
            {
                entity.HasIndex(e => e.citycode)
                    .HasName("idx_citycode");

                entity.HasIndex(e => e.station_name)
                    .HasName("idx_station_name");

                entity.HasIndex(e => new { e.station_id, e.line_id })
                    .HasName("idx_station_line");

                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.abb)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.citycode)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.col)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.current_train)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.direction)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.first_time)
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("''");

                entity.Property(e => e.fomtos)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.fomtos_sort)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.is_last_station)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.last_time)
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("''");

                entity.Property(e => e.line_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.next_train)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.points)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.station_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.station_name)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_stationline>(entity =>
            {
                entity.HasIndex(e => e.stations_id)
                    .HasName("idx_stationid");

                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.istoilet)
                    .HasColumnType("int(1)")
                    .HasDefaultValueSql("'1'");

                entity.Property(e => e.lb)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.lid)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.line_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.line_name)
                    .IsRequired()
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.ln)
                    .IsRequired()
                    .HasColumnType("varchar(200)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.ln_less)
                    .IsRequired()
                    .HasColumnType("varchar(200)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.ln_num)
                    .HasColumnType("int(4)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.sid)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.stations_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.toiletpos)
                    .IsRequired()
                    .HasColumnType("varchar(500)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_stations>(entity =>
            {
                entity.HasIndex(e => new { e.sid, e.citycode })
                    .HasName("index_sid")
                    .IsUnique();

                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.citycode)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.lat)
                    .IsRequired()
                    .HasColumnType("varchar(100)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.lb)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.lid)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.ln)
                    .IsRequired()
                    .HasColumnType("varchar(200)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.ln_less)
                    .IsRequired()
                    .HasColumnType("varchar(200)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.ln_num)
                    .HasColumnType("tinyint(4)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.lng)
                    .IsRequired()
                    .HasColumnType("varchar(100)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.sid)
                    .IsRequired()
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.x)
                    .IsRequired()
                    .HasColumnType("varchar(100)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.y)
                    .IsRequired()
                    .HasColumnType("varchar(100)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_tests>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.lat)
                    .IsRequired()
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.lng)
                    .IsRequired()
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("'0'");
            });

            modelBuilder.Entity<qy_train_schedule>(entity =>
            {
                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.arrive_day)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.arrive_time)
                    .IsRequired()
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("'00:00'");

                entity.Property(e => e.city_code)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'131'");

                entity.Property(e => e.departure_time)
                    .IsRequired()
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("'00:00'");

                entity.Property(e => e.origstation)
                    .IsRequired()
                    .HasColumnType("varchar(256)")
                    .HasDefaultValueSql("''");

                entity.Property(e => e.platform_id)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.terminus)
                    .IsRequired()
                    .HasColumnType("varchar(256)")
                    .HasDefaultValueSql("''");

                entity.Property(e => e.week)
                    .IsRequired()
                    .HasColumnType("char(7)")
                    .HasDefaultValueSql("'1111111'");
            });

            modelBuilder.Entity<qy_user>(entity =>
            {
                entity.HasIndex(e => e.openid)
                    .HasName("idx_openid")
                    .IsUnique();

                entity.HasIndex(e => e.token)
                    .HasName("idx_token");

                entity.HasIndex(e => e.user_no)
                    .HasName("idx_user_no");

                entity.Property(e => e.id).HasColumnType("int(11)");

                entity.Property(e => e.addtime)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.headimg)
                    .IsRequired()
                    .HasColumnType("varchar(250)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.openid)
                    .IsRequired()
                    .HasColumnType("varchar(1000)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.phone)
                    .IsRequired()
                    .HasColumnType("varchar(20)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.token)
                    .IsRequired()
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.uptime)
                    .HasColumnType("int(11)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.user_no)
                    .IsRequired()
                    .HasColumnType("varchar(25)")
                    .HasDefaultValueSql("'0'");

                entity.Property(e => e.username)
                    .IsRequired()
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("'0'");
            });
        }
    }
}
